{"cells":[{"metadata":{"trusted":true},"cell_type":"code","source":"def clamp(n, min_value, max_value):\n return max(min_value, min(n, max_value))\n\nclass IPAdress:\n def __init__(self, ipAdress):\n self.ipAdress = ipAdress\n \n def getOctet(self, position):\n return self.ipAdress.split(\".\")[position]\n \n def listeOctets(self):\n return self.ipAdress.split(\".\")\n \n def estReservee(self):\n if self.ipAdress.split(\".\")[3] == \"0\" or self.ipAdress.split(\".\")[3] == \"255\":\n return \"L'adresse est réservée\"\n return \"L'adresse n'est pas réservée\"\n \n def estValide(self):\n for i in range(0, 4):\n if not (0 <= int(self.getOctet(i)) <= 255):\n return False\n return True\n \n# def prochainHote(self):\n# octets = self.listeOctets()\n# octet_suivant = int(octets[3]) + 1\n# octets[3] = str(octet_suivant)\n# adresse_suivante = \"\"\n# if 0 <= octet_suivant <= 255:\n# for i in range(len(octets)):\n# adresse_suivante += octets[i]\n# if i != 3:\n# adresse_suivante += \".\"\n# return adresse_suivante\n# return \"L'adresse suivante n'existe pas\"\n \n def prochainHote(self):\n octets = self.listeOctets()\n octet_suivant = int(octets[3]) + 1\n octets[3] = str(octet_suivant)\n if 0 <= octet_suivant <= 255:\n return \".\".join(octets)\n return \"L'adresse suivante n'existe pas\"\n\nIP1 = IPAdress(\"192.168.0.255\")\nprint(IP1.getOctet(3))\nprint(IP1.getOctet(2))\nprint(IP1.getOctet(0))\nprint(IP1.listeOctets())\nprint(IP1.estReservee())\nprint(IP1.estValide())\nprint(IP1.prochainHote())\n\nprint(\"___________________________________________________________________\")\nprint(\" \")\n\nIP2 = IPAdress(\"192.168.0.0\")\nprint(IP2.getOctet(1))\nprint(IP2.getOctet(2))\nprint(IP2.getOctet(0))\nprint(IP2.listeOctets())\nprint(IP2.estReservee())\nprint(IP2.estValide())\nprint(IP2.prochainHote())\n\nprint(\"___________________________________________________________________\")\nprint(\" \")\n\nIP3 = IPAdress(\"192.168.0.10\")\nprint(IP3.getOctet(1))\nprint(IP3.getOctet(2))\nprint(IP3.getOctet(3))\nprint(IP3.listeOctets())\nprint(IP3.estReservee())\nprint(IP3.estValide())\nprint(IP3.prochainHote())\n\nprint(\"___________________________________________________________________\")\nprint(\" \")\n\nIP4 = IPAdress(\"192.456.0.10\")\nprint(IP4.getOctet(1))\nprint(IP4.getOctet(2))\nprint(IP4.getOctet(3))\nprint(IP4.listeOctets())\nprint(IP4.estReservee())\nprint(IP4.estValide())\nprint(IP4.prochainHote())","execution_count":68,"outputs":[{"output_type":"stream","text":"255\n0\n192\n['192', '168', '0', '255']\nL'adresse est réservée\nTrue\nL'adresse suivante n'existe pas\n___________________________________________________________________\n \n168\n0\n192\n['192', '168', '0', '0']\nL'adresse est réservée\nTrue\n192.168.0.1\n___________________________________________________________________\n \n168\n0\n10\n['192', '168', '0', '10']\nL'adresse n'est pas réservée\nTrue\n192.168.0.11\n___________________________________________________________________\n \n456\n0\n10\n['192', '456', '0', '10']\nL'adresse n'est pas réservée\nFalse\n192.456.0.11\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"ip = ['192', '168', '0', '10']\n\".\".join(ip)","execution_count":62,"outputs":[{"output_type":"execute_result","execution_count":62,"data":{"text/plain":"'192.168.0.10'"},"metadata":{}}]}],"metadata":{"kernelspec":{"name":"python3","display_name":"Python 3","language":"python"}},"nbformat":4,"nbformat_minor":2}